/**
 * Create in 2012-7-27.
 */
package kit4j.tests.jdk.swing.dnd.component;

import java.awt.Component;
import java.awt.GridLayout;

import javax.swing.JPanel;
import javax.swing.JTabbedPane;

/**
 * 单独分隔的标签面板。每一个标签面板会在一个独立的面板块中进行显示。
 * 
 * @author MiniKnife
 * 
 */
public class SeparateTabbedPane extends JPanel {

	private static final long serialVersionUID = 1L;

	/**
	 * 创建一个单独分隔的标签面板。
	 */
	public SeparateTabbedPane() {
		super();

		setLayout(new GridLayout(1, 0));
	}

	/**
	 * @see java.awt.Container#add(java.awt.Component)
	 */
	@Override
	public Component add(Component comp) {
		super.add(wrapComponent(comp));

		return comp;
	}

	/**
	 * @see java.awt.Container#add(java.awt.Component, int)
	 */
	public Component add(Component comp, int index) {
		super.add(wrapComponent(comp), index);

		return comp;
	}

	/**
	 * 包装指定的组件。
	 * 
	 * @param comp
	 *            要包装的组件
	 * @return 包装后的组件
	 */
	private Component wrapComponent(Component comp) {
		JTabbedPane tabbedPane = new JTabbedPane();

		tabbedPane.add(comp);

		return tabbedPane;
	}
}
